#ifndef SERVIDOR_H_
#define SERVIDOR_H_

#include <string.h>

#include "Mensajes.h"
#include "Cola.h"
#include <list>
#include <string>
#include "Sala.h"
#include <stdio.h>
#include <iostream>
#include <stdlib.h>

using namespace std;
using namespace common;

class Servidor {

	private:
		Cola<mensaje>* cola;
		mensaje peticionRecibida;
		mensaje respuesta;
		list<Sala*> salas;
		int proximoIdSala;

	public:
		Servidor ( char* archivo,char letra );
		virtual ~Servidor ();

		int recibirPeticion ();
		int procesarPeticion ();
		int responderPeticion ();

		mensaje getPeticionRecibida ();
		mensaje getRespuesta ();
		string obtenerSalasAEnviar();
		string obtenerClientesDeSala(int idSala);

		int crearNuevaSala(string nombre);
		void borrarSala(int idSala);
		void agregarClienteASala(int idSala,int pidCliente,string nombreCliente);
		void borrarClienteDeSala(int idSala, int pidCliente);
		bool existeSala(int idSala);
};



#endif /* SERVIDOR_H_ */
